package cn.shengchao.examstar.rpc.product.api;

import cn.shengchao.examstar.rpc.base.PageResult;
import cn.shengchao.examstar.rpc.base.TransResult;
import cn.shengchao.examstar.rpc.distribute.req.ProductThirdDistributeProxyIdReq;
import cn.shengchao.examstar.rpc.distribute.req.ProductThirdDistributeProxyReq;
import cn.shengchao.examstar.rpc.distribute.req.ThirdProductDistributeUserQueryPage;
import cn.shengchao.examstar.rpc.distribute.resp.ThirdProductDistributeForUserRespEntity;
import cn.shengchao.examstar.rpc.distribute.resp.ThirdProductDistributeProxyInfoRespEntity;
import cn.shengchao.examstar.rpc.product.base.ProductTypeTree;
import cn.shengchao.examstar.rpc.product.base.SimpleProduct;

import java.util.List;

/**
 * @program: examstarapi
 * @description: 内容产品rpc调yong
 * @author: Xiong weiqiang
 * @create: 2025-06-10 16:41
 */
public interface IContentProductTypeRpc {
    List<ProductTypeTree> getContentProductTypes();
    List<SimpleProduct> listProductDetails ();

    PageResult<ThirdProductDistributeForUserRespEntity>  getThirdProductDistributeListForUser(ThirdProductDistributeUserQueryPage thirdProductDistributeUserQueryPage);

    TransResult<String> addThirdProductDistributeProxyForUser(ProductThirdDistributeProxyReq req);
    TransResult<String> deleteThirdProductDistributeProxyForUser(ProductThirdDistributeProxyIdReq req);
    List<SimpleProduct> listThirdMemberProductExcludeUser(Long userId);

    List<ThirdProductDistributeProxyInfoRespEntity> selectListByProductId(Long productId);

    ThirdProductDistributeForUserRespEntity loadThirdMemberProxy(Long userId,Long productId);
}